home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / web / fweb / fweb-1.40 / manual / fmanrefs.tex < prev    next >
Text File  |  1993-10-29  |  817b  |  49 lines

  1. % Rudimentary Plain TeX referencing scheme for the manual.
  2.  
  3. \newcount\refnum
  4. \newif\iffoundref
  5.  
  6. \def\lrefs{}
  7.  
  8. \newtoks\ta
  9. \newtoks\tb
  10.  
  11. {\catcode`\_=11
  12.  
  13. \gdef\ismember#1\of#2{\foundreffalse
  14.     \refnum=0
  15.     \def\given{#1}%
  16.     \def\\##1{\advance\refnum by1%
  17.     \def\next{##1}\ifx\next\given
  18.         \foundreftrue
  19.     \fi}%
  20.     #2}
  21.  
  22. \gdef\testref#1{%
  23.     \ismember#1\of\lrefs
  24.     \iffoundref\else
  25.         \ta={\\#1}%
  26.         \tb=\expandafter{\lrefs}%
  27.         \xdef\lrefs{\the\tb\the\ta}%
  28.         \advance\refnum by1%
  29.     \fi
  30.     }
  31.  
  32. \gdef\cite#1{{%
  33.     \edef\next{\noexpand\testref{\expandafter\noexpand
  34. \csname r_#1\endcsname}}\next
  35.     \refcite}}
  36.  
  37. \gdef\refcite{~[\the\refnum]}
  38.  
  39. \gdef\dref#1#2\par{\edef\next{\gdef\csname r_#1\endcsname{#2}}%
  40.     \next}
  41.  
  42. \gdef\manrefs{{\refnum=0
  43.     \def\\{\advance\refnum by1%
  44.     \xdef\cur_ref{\the\refnum}%
  45.     \medskip
  46.     \refcite\ignorespaces\ }\lrefs}}
  47. }
  48.  
  49.